260
17
Genomics
The third mode is called a listing or derivation; it consists of an alternating series of
sequences and elementary operations, successive sequences differing only in accord
with the interspersed elementary operation, as illustrated below
upper I left parenthesis s Subscript a Baseline comma s Subscript b Baseline right parenthesis equals upper I left parenthesis s Subscript b Baseline comma s Subscript a Baseline right parenthesis equals upper I left parenthesis s Subscript a Baseline right parenthesis minus upper I left parenthesis s Subscript a Baseline vertical bar s Subscript b Baseline right parenthesis equals upper I left parenthesis s Subscript b Baseline right parenthesis minus upper I left parenthesis s Subscript b Baseline vertical bar s Subscript a Baseline right parenthesis period
INDUSTRY
delete D
INUSTRY
delete U
INSTRY
substitute Y by S
INSTRS
insert E
INSTERS
insert E
INSTERES
delete S
INTERES
insert T
INTEREST
Listing is of less practical use, but is a richer mode of analysis than the previous two.
17.4.4
Dynamic Programming Algorithms
The concept of dynamic programming comes from operations research, where it is
commonly used to solve problems that can be divided into stages with a decision
required at each stage. A good generic example is the problem of finding the shortest
path on a graph. The decisions are where to go next at each node. It is characteristic
that the decision at one stage transforms that state into a state in the next stage. Once
that is done, from the viewpoint of the current state the optimal decision for the
remaining states does not depend on the previous states or decisions. Hence, it is not
necessary to know how a node was reached, only that it was reached. A recursive
relationship identifies the optimal decision for stage upper MM, given that stage upper M plus 1M + 1 has
already been solved; the final stage must be solvable by itself.
The following is a generic dynamic programming algorithm (DPA) for comparing
two strings upper S Baseline 1S1 and upper S Baseline 2S2 with upper M left bracket i comma j right bracket equalsM[i, j] = cost or score of upper S Baseline 1 left bracket 1 period period i right bracketS1[1..i] and upper S Baseline 2 left bracket 1 period period j right bracketS2[1.. j]: 19
19 Allison et al. (1999).